package com.neuedu.corejava.ch13;

import java.util.Random;

/**
 * 
 * 线程开发步骤
 * 1.编写一个类继承Thread类
 * 2.重写run方法，在run方法中编写程序的功能代码
 * 3.执行时：实例化线程对象并调用start方法启动线程
 * @author myh
 * @version 2019年8月14日下午3:48:56
 *
 */
public class ThreadDemo extends Thread{

	private int count = 0;
	
	@Override
	public void run() {
		while (count<=10) {
			try {
				//线程休眠，时间单位是毫秒
				Thread.sleep(new Random().nextInt(2000));
			} catch (InterruptedException e) {
			}
			System.out.print(count++);
		}
		System.out.println();
		System.out.println(getId()+"子线程执行完毕");
	}
	public static void main(String[] args) {
		//1.新建线程
		ThreadDemo threadDemo = new ThreadDemo();
		ThreadDemo threadDemo1 = new ThreadDemo();
		ThreadDemo threadDemo2 = new ThreadDemo();
		//threadDemo.run();//线程的run方法可以用普通方法调用形式进行调用
		//2.启动线程调用start方法，线程启动后进入线程池中等待执行
		//3.线程执行时执行的是run方法
		//4.线程等待（线程中断）
		//5.run方法执行完毕则线程执行完毕
		threadDemo.start();
		threadDemo1.start();
		threadDemo2.start();
		System.out.println("主线程执行完毕");
	}

}
